{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# iflearner server Configure and start"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Virtual environment\n",
    "You can create a virtual running environment of iflearner through virtual tools such as conda and pyenv, and then activate it. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.1. Conda\n",
    "1. You need to install conda environment. [install](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html)\n",
    "\n",
    "2. We will create a virtual environment through conda and activate it   \n",
    "```shell\n",
    "$ conda create -n iflearner python==3.9 ipykernel\n",
    "$ conda activate iflearner\n",
    "```\n",
    "\n",
    "3. Write the virtual environment into the kernel of jupyter notebook        \n",
    "command: python -m ipykernel install --user --name virtual-environment-name --display-name virtual-environment-name \n",
    "- The first virtual environment name indicates the created virtual environment name\n",
    "- The second virtual environment name indicates that you want it to appear in the kernel options of the jupyter noteboook\n",
    "\n",
    "  example: $ python -m ipykernel install --user --name iflearner --display-name \"iflearner\"\n",
    "\n",
    "4. switch kernel\n",
    "You can select the change kernel button in the kernel menu bar of jupyterlab and select the virtual environment we created"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Install the iflearner library and related dependencies"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip install iflearner  --index-url http://pypi.douban.com/simple --trusted-host pypi.douban.com "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Start the server side"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2022-08-08 15:09:52.148 | INFO     | iflearner.business.homo.aggregate_server:__init__:45 - server address:  0.0.0.0:50001, strategy: FedAvg, client number: 2, epochs: 0, strategy params: {}\n",
      "2022-08-08 15:09:52.150 | INFO     | iflearner.business.homo.strategy.fedavg_server:__init__:38 - num_clients: 2, scaffold: False, weighted_fedavg: False\n",
      "2022-08-08 15:10:04.753 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_register:93 - Client register: client01\n",
      "2022-08-08 15:10:04.755 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_register, time: 1.7474499999998727ms\n",
      "2022-08-08 15:10:04.764 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007176000000441718ms\n",
      "2022-08-08 15:10:04.769 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:10:04.770 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 1.413282999997989ms\n",
      "2022-08-08 15:10:05.773 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008183999998578884ms\n",
      "2022-08-08 15:10:06.780 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005572999999259309ms\n",
      "2022-08-08 15:10:07.785 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008862999997916177ms\n",
      "2022-08-08 15:10:08.791 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007550999999494934ms\n",
      "2022-08-08 15:10:09.797 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.004113999999333373ms\n",
      "2022-08-08 15:10:10.805 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.01065500000052566ms\n",
      "2022-08-08 15:10:11.809 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008243999999990592ms\n",
      "2022-08-08 15:10:12.816 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.004445999998381467ms\n",
      "2022-08-08 15:10:13.821 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005778000002010231ms\n",
      "2022-08-08 15:10:14.829 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007001000000173008ms\n",
      "2022-08-08 15:10:15.842 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005625000000009095ms\n",
      "2022-08-08 15:10:16.849 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007553999999743155ms\n",
      "2022-08-08 15:10:17.854 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0046410000003049845ms\n",
      "2022-08-08 15:10:18.861 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.009521999999151376ms\n",
      "2022-08-08 15:10:19.873 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007609000000741162ms\n",
      "2022-08-08 15:10:20.880 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00817499999783422ms\n",
      "2022-08-08 15:10:20.920 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_register:93 - Client register: client02\n",
      "2022-08-08 15:10:20.923 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_register, time: 2.489678000003437ms\n",
      "2022-08-08 15:10:20.933 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007261000000369222ms\n",
      "2022-08-08 15:10:20.937 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:10:20.943 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:10:20.955 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 18.00153899999657ms\n",
      "2022-08-08 15:10:21.888 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.008958000002223798ms\n",
      "2022-08-08 15:10:21.941 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.030872000003512312ms\n",
      "2022-08-08 15:10:22.898 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0070480000005090915ms\n",
      "2022-08-08 15:10:22.948 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007180000004325393ms\n",
      "2022-08-08 15:10:23.905 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006562999999459862ms\n",
      "2022-08-08 15:10:23.954 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006836000004284415ms\n",
      "2022-08-08 15:10:24.911 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0072879999990504984ms\n",
      "2022-08-08 15:10:24.960 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006849999998337353ms\n",
      "2022-08-08 15:10:25.918 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006997999996372073ms\n",
      "2022-08-08 15:10:25.966 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005260999998313309ms\n",
      "2022-08-08 15:10:26.921 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007089000000348733ms\n",
      "2022-08-08 15:10:26.972 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005156999996813738ms\n",
      "2022-08-08 15:10:27.927 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0065419999941696005ms\n",
      "2022-08-08 15:10:27.983 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0072810000020240295ms\n",
      "2022-08-08 15:10:28.934 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0074240000031977615ms\n",
      "2022-08-08 15:10:28.989 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008203999996680977ms\n",
      "2022-08-08 15:10:29.938 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0072180000003641ms\n",
      "2022-08-08 15:10:29.992 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007359000001372351ms\n",
      "2022-08-08 15:10:30.942 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007197999998709292ms\n",
      "2022-08-08 15:10:30.998 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00795500000094762ms\n",
      "2022-08-08 15:10:31.948 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006399000000101296ms\n",
      "2022-08-08 15:10:32.004 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006366999997453604ms\n",
      "2022-08-08 15:10:32.954 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00722899999772153ms\n",
      "2022-08-08 15:10:33.011 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006563999995989889ms\n",
      "2022-08-08 15:10:33.959 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007240000002184388ms\n",
      "2022-08-08 15:10:34.016 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007193000001848304ms\n",
      "2022-08-08 15:10:34.965 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007155999995234197ms\n",
      "2022-08-08 15:10:35.020 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006377000005386435ms\n",
      "2022-08-08 15:10:35.972 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005608999998685249ms\n",
      "2022-08-08 15:10:36.026 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006795999993869373ms\n",
      "2022-08-08 15:10:36.978 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007113999998864529ms\n",
      "2022-08-08 15:10:37.034 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0076030000002447196ms\n",
      "2022-08-08 15:10:37.985 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006925999997520194ms\n",
      "2022-08-08 15:10:38.039 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006167999998751839ms\n",
      "2022-08-08 15:10:38.991 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005260999998313309ms\n",
      "2022-08-08 15:10:39.044 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008534999999199044ms\n",
      "2022-08-08 15:10:39.994 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007381999999722666ms\n",
      "2022-08-08 15:10:40.049 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006589000001611112ms\n",
      "2022-08-08 15:10:41.001 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007623000001899527ms\n",
      "2022-08-08 15:10:41.057 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008573999998873205ms\n",
      "2022-08-08 15:10:42.007 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0069580000001678854ms\n",
      "2022-08-08 15:10:42.095 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007828000001097735ms\n",
      "2022-08-08 15:10:43.014 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00818100000543609ms\n",
      "2022-08-08 15:10:43.102 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007161999995730639ms\n",
      "2022-08-08 15:10:44.021 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007162999999366093ms\n",
      "2022-08-08 15:10:44.109 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005187999995825976ms\n",
      "2022-08-08 15:10:45.027 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005330000000469681ms\n",
      "2022-08-08 15:10:45.115 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007051000004310026ms\n",
      "2022-08-08 15:10:46.031 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007248999999376338ms\n",
      "2022-08-08 15:10:46.121 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007297999999877902ms\n",
      "2022-08-08 15:10:47.038 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005708999999853859ms\n",
      "2022-08-08 15:10:47.125 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007050000000674572ms\n",
      "2022-08-08 15:10:48.043 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.050555000001395456ms\n",
      "2022-08-08 15:10:48.128 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007316000001367229ms\n",
      "2022-08-08 15:10:49.050 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005604000001824261ms\n",
      "2022-08-08 15:10:49.130 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007392999997080096ms\n",
      "2022-08-08 15:10:50.055 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0072879999990504984ms\n",
      "2022-08-08 15:10:50.136 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005211000001281718ms\n",
      "2022-08-08 15:10:51.061 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005700000002661909ms\n",
      "2022-08-08 15:10:51.119 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 1\n",
      "2022-08-08 15:10:51.122 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 3.3387080000011338ms\n",
      "2022-08-08 15:10:51.143 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008186000002297078ms\n",
      "2022-08-08 15:10:51.868 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 1\n",
      "2022-08-08 15:10:51.869 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:10:51.883 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 15.232378999996854ms\n",
      "2022-08-08 15:10:52.068 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.7519160000034617ms\n",
      "2022-08-08 15:10:52.152 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 2.228289000001382ms\n",
      "2022-08-08 15:10:52.896 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:10:52.898 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 1.9087000000013177ms\n",
      "2022-08-08 15:10:53.088 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0076989999939769405ms\n",
      "2022-08-08 15:10:53.139 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:10:53.140 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:10:53.141 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 2.0449769999970613ms\n",
      "2022-08-08 15:10:53.172 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.00977999999918211ms\n",
      "2022-08-08 15:10:54.091 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.012348999987921161ms\n",
      "2022-08-08 15:10:54.180 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005194999999957872ms\n",
      "2022-08-08 15:10:55.099 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.023904000002517023ms\n",
      "2022-08-08 15:10:55.187 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007381000003192639ms\n",
      "2022-08-08 15:10:56.105 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007190999994577396ms\n",
      "2022-08-08 15:10:56.191 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007437999997250699ms\n",
      "2022-08-08 15:10:57.108 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006854000005773742ms\n",
      "2022-08-08 15:10:57.197 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007478000000560314ms\n",
      "2022-08-08 15:10:58.112 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007087000000183252ms\n",
      "2022-08-08 15:10:58.203 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00698700000612007ms\n",
      "2022-08-08 15:10:59.114 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007567000011476921ms\n",
      "2022-08-08 15:10:59.209 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007296999996242448ms\n",
      "2022-08-08 15:11:00.120 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006448999997132887ms\n",
      "2022-08-08 15:11:00.213 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007668999998600157ms\n",
      "2022-08-08 15:11:01.123 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00673099999914939ms\n",
      "2022-08-08 15:11:01.218 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006819999995855142ms\n",
      "2022-08-08 15:11:02.127 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007242999998879895ms\n",
      "2022-08-08 15:11:02.225 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008073000003605557ms\n",
      "2022-08-08 15:11:03.133 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007615999990662203ms\n",
      "2022-08-08 15:11:03.232 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007572999990657081ms\n",
      "2022-08-08 15:11:04.142 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007468999996262937ms\n",
      "2022-08-08 15:11:04.238 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007002999993233061ms\n",
      "2022-08-08 15:11:05.149 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006982000002153654ms\n",
      "2022-08-08 15:11:05.242 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0069249999938847395ms\n",
      "2022-08-08 15:11:06.155 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005199000000288834ms\n",
      "2022-08-08 15:11:06.245 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007832000008534123ms\n",
      "2022-08-08 15:11:07.161 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0072610000074746495ms\n",
      "2022-08-08 15:11:07.248 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007229000004826958ms\n",
      "2022-08-08 15:11:08.170 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007326999991619232ms\n",
      "2022-08-08 15:11:08.254 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0056140000026516645ms\n",
      "2022-08-08 15:11:09.177 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006978000001822693ms\n",
      "2022-08-08 15:11:09.258 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007331000006161048ms\n",
      "2022-08-08 15:11:10.183 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0073169999978972555ms\n",
      "2022-08-08 15:11:10.261 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008159000003615802ms\n",
      "2022-08-08 15:11:11.189 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007202999995570281ms\n",
      "2022-08-08 15:11:11.267 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007202999995570281ms\n",
      "2022-08-08 15:11:12.195 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007612000004542097ms\n",
      "2022-08-08 15:11:12.272 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0076999999976123945ms\n",
      "2022-08-08 15:11:13.198 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007105999998202606ms\n",
      "2022-08-08 15:11:13.277 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007639000003223373ms\n",
      "2022-08-08 15:11:14.205 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005865000005655929ms\n",
      "2022-08-08 15:11:14.283 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00716399999589612ms\n",
      "2022-08-08 15:11:15.209 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007389999993279162ms\n",
      "2022-08-08 15:11:15.295 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00761399999760215ms\n",
      "2022-08-08 15:11:16.219 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006951999992566016ms\n",
      "2022-08-08 15:11:16.303 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007285999998885018ms\n",
      "2022-08-08 15:11:17.225 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006139999996435108ms\n",
      "2022-08-08 15:11:17.309 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005305000001953886ms\n",
      "2022-08-08 15:11:18.232 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006573999996817292ms\n",
      "2022-08-08 15:11:18.315 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005727000001343185ms\n",
      "2022-08-08 15:11:19.238 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007605000007515628ms\n",
      "2022-08-08 15:11:19.319 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006729000006089336ms\n",
      "2022-08-08 15:11:20.243 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006910999999831802ms\n",
      "2022-08-08 15:11:20.322 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00734600000384944ms\n",
      "2022-08-08 15:11:21.252 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007486000001222237ms\n",
      "2022-08-08 15:11:21.328 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006727000013029283ms\n",
      "2022-08-08 15:11:22.254 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007168999999862535ms\n",
      "2022-08-08 15:11:22.332 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007253999996237326ms\n",
      "2022-08-08 15:11:23.256 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007147999994572274ms\n",
      "2022-08-08 15:11:23.339 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00781399999993937ms\n",
      "2022-08-08 15:11:24.262 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007287000002520472ms\n",
      "2022-08-08 15:11:24.359 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008242000006930539ms\n",
      "2022-08-08 15:11:24.953 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 2\n",
      "2022-08-08 15:11:24.954 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 1.556514000000675ms\n",
      "2022-08-08 15:11:25.270 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007571000011807882ms\n",
      "2022-08-08 15:11:25.366 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0074059999946030075ms\n",
      "2022-08-08 15:11:25.900 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 2\n",
      "2022-08-08 15:11:25.901 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:11:25.913 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 13.262955000001853ms\n",
      "2022-08-08 15:11:26.279 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.351636999999073ms\n",
      "2022-08-08 15:11:26.373 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 1.0869460000009212ms\n",
      "2022-08-08 15:11:26.923 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:11:26.925 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 1.8400799999938044ms\n",
      "2022-08-08 15:11:26.968 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:11:26.970 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:11:26.972 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 3.8311010000029455ms\n",
      "2022-08-08 15:11:27.292 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.0070059999899285685ms\n",
      "2022-08-08 15:11:27.388 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.006515999999123778ms\n",
      "2022-08-08 15:11:28.300 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006899999988263517ms\n",
      "2022-08-08 15:11:28.396 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0064940000044089174ms\n",
      "2022-08-08 15:11:29.304 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006896999991568009ms\n",
      "2022-08-08 15:11:29.402 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006910999999831802ms\n",
      "2022-08-08 15:11:30.308 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006831999996848026ms\n",
      "2022-08-08 15:11:30.406 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006944000006114948ms\n",
      "2022-08-08 15:11:31.316 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007639000003223373ms\n",
      "2022-08-08 15:11:31.408 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007412999991629476ms\n",
      "2022-08-08 15:11:32.322 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0073069999899644245ms\n",
      "2022-08-08 15:11:32.413 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007137999986639443ms\n",
      "2022-08-08 15:11:33.328 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0067710000024590045ms\n",
      "2022-08-08 15:11:33.418 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00726599999723021ms\n",
      "2022-08-08 15:11:34.333 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006591999991201192ms\n",
      "2022-08-08 15:11:34.423 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00799499999004638ms\n",
      "2022-08-08 15:11:35.338 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0064689999987876945ms\n",
      "2022-08-08 15:11:35.429 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007104000005142552ms\n",
      "2022-08-08 15:11:36.342 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006153000001063447ms\n",
      "2022-08-08 15:11:36.435 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007711999998605279ms\n",
      "2022-08-08 15:11:37.353 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007668000009175557ms\n",
      "2022-08-08 15:11:37.445 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.010893000009559728ms\n",
      "2022-08-08 15:11:38.359 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007473000010804753ms\n",
      "2022-08-08 15:11:38.524 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0069430000024794936ms\n",
      "2022-08-08 15:11:39.364 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0064689999987876945ms\n",
      "2022-08-08 15:11:39.530 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006802000001471242ms\n",
      "2022-08-08 15:11:40.369 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006055999989484917ms\n",
      "2022-08-08 15:11:40.536 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00711799999919549ms\n",
      "2022-08-08 15:11:41.393 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008465999997042672ms\n",
      "2022-08-08 15:11:41.542 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0076989999939769405ms\n",
      "2022-08-08 15:11:42.403 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008033000000295942ms\n",
      "2022-08-08 15:11:42.551 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008227999998666746ms\n",
      "2022-08-08 15:11:43.407 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007280000005494003ms\n",
      "2022-08-08 15:11:43.561 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008250000007592462ms\n",
      "2022-08-08 15:11:44.413 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006536999990203185ms\n",
      "2022-08-08 15:11:44.565 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007684999999924003ms\n",
      "2022-08-08 15:11:45.419 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008011000005581081ms\n",
      "2022-08-08 15:11:45.574 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00884499999642685ms\n",
      "2022-08-08 15:11:46.428 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007754999998610401ms\n",
      "2022-08-08 15:11:46.587 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007517000000234475ms\n",
      "2022-08-08 15:11:47.440 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.009569999988912059ms\n",
      "2022-08-08 15:11:47.595 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007384999989312746ms\n",
      "2022-08-08 15:11:48.449 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007936000002928267ms\n",
      "2022-08-08 15:11:48.603 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00846899999373818ms\n",
      "2022-08-08 15:11:49.458 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006726000009393829ms\n",
      "2022-08-08 15:11:49.606 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006600999995498569ms\n",
      "2022-08-08 15:11:50.466 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008794999999395259ms\n",
      "2022-08-08 15:11:50.613 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007261999996899249ms\n",
      "2022-08-08 15:11:51.473 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007650000000580803ms\n",
      "2022-08-08 15:11:51.620 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00728300000218951ms\n",
      "2022-08-08 15:11:52.480 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007162000002836066ms\n",
      "2022-08-08 15:11:52.627 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006256000006032991ms\n",
      "2022-08-08 15:11:53.496 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.009407999996824401ms\n",
      "2022-08-08 15:11:53.632 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008175999994364247ms\n",
      "2022-08-08 15:11:54.505 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007709000016120626ms\n",
      "2022-08-08 15:11:54.638 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007435000014766047ms\n",
      "2022-08-08 15:11:55.511 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007003999996868515ms\n",
      "2022-08-08 15:11:55.644 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008027999996329527ms\n",
      "2022-08-08 15:11:56.514 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007654000000911765ms\n",
      "2022-08-08 15:11:56.650 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007557999992968689ms\n",
      "2022-08-08 15:11:57.518 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007624000005534981ms\n",
      "2022-08-08 15:11:57.659 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006783999992876488ms\n",
      "2022-08-08 15:11:58.522 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007071999988284006ms\n",
      "2022-08-08 15:11:58.672 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0075929999923118885ms\n",
      "2022-08-08 15:11:59.278 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 3\n",
      "2022-08-08 15:11:59.281 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 2.2597380000206613ms\n",
      "2022-08-08 15:11:59.363 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 3\n",
      "2022-08-08 15:11:59.365 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:11:59.382 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 19.33279899998297ms\n",
      "2022-08-08 15:11:59.529 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.0106520000192631ms\n",
      "2022-08-08 15:11:59.681 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 1.6124189999970895ms\n",
      "2022-08-08 15:12:00.291 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:12:00.292 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 1.0976689999893097ms\n",
      "2022-08-08 15:12:00.404 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:12:00.406 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:12:00.409 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 5.1072750000003ms\n",
      "2022-08-08 15:12:00.544 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.00934700000243538ms\n",
      "2022-08-08 15:12:00.699 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.011498000020537802ms\n",
      "2022-08-08 15:12:01.555 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007468999996262937ms\n",
      "2022-08-08 15:12:01.704 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0073969999903056305ms\n",
      "2022-08-08 15:12:02.565 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00796700001615136ms\n",
      "2022-08-08 15:12:02.711 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006989000013390978ms\n",
      "2022-08-08 15:12:03.571 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007963000001609544ms\n",
      "2022-08-08 15:12:03.716 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0074229999995623075ms\n",
      "2022-08-08 15:12:04.578 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00744300001542797ms\n",
      "2022-08-08 15:12:04.747 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.010927999994692073ms\n",
      "2022-08-08 15:12:05.583 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007481000011466676ms\n",
      "2022-08-08 15:12:05.786 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0071720000107688975ms\n",
      "2022-08-08 15:12:06.591 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007061000019348285ms\n",
      "2022-08-08 15:12:06.795 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00689600000214341ms\n",
      "2022-08-08 15:12:07.597 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007900000014160469ms\n",
      "2022-08-08 15:12:07.800 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007608999993635734ms\n",
      "2022-08-08 15:12:08.604 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007213000003503112ms\n",
      "2022-08-08 15:12:08.807 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005529000020487729ms\n",
      "2022-08-08 15:12:09.608 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006952000006776871ms\n",
      "2022-08-08 15:12:09.810 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006844000012051765ms\n",
      "2022-08-08 15:12:10.615 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007124999996221959ms\n",
      "2022-08-08 15:12:10.816 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007436999993615245ms\n",
      "2022-08-08 15:12:11.620 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007551999999577674ms\n",
      "2022-08-08 15:12:11.821 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007656999997607272ms\n",
      "2022-08-08 15:12:12.627 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006694000006746137ms\n",
      "2022-08-08 15:12:12.827 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006511999998792817ms\n",
      "2022-08-08 15:12:13.634 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007737999993651101ms\n",
      "2022-08-08 15:12:13.833 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006652999985590213ms\n",
      "2022-08-08 15:12:14.639 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006858000006104703ms\n",
      "2022-08-08 15:12:14.839 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007680000010168442ms\n",
      "2022-08-08 15:12:15.646 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006164000012631732ms\n",
      "2022-08-08 15:12:15.843 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006926999986944793ms\n",
      "2022-08-08 15:12:16.652 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0073680000127751555ms\n",
      "2022-08-08 15:12:16.850 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007414000009475785ms\n",
      "2022-08-08 15:12:17.658 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007235999987642572ms\n",
      "2022-08-08 15:12:17.857 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006783999992876488ms\n",
      "2022-08-08 15:12:18.660 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006826000003457011ms\n",
      "2022-08-08 15:12:18.863 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007710000005545226ms\n",
      "2022-08-08 15:12:19.665 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006955000003472378ms\n",
      "2022-08-08 15:12:19.869 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006882999997515071ms\n",
      "2022-08-08 15:12:20.669 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007433999996919738ms\n",
      "2022-08-08 15:12:20.871 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005151000010528151ms\n",
      "2022-08-08 15:12:21.674 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0072189999968941265ms\n",
      "2022-08-08 15:12:21.877 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0068530000021382875ms\n",
      "2022-08-08 15:12:22.681 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007809000010183809ms\n",
      "2022-08-08 15:12:22.883 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006662000004098445ms\n",
      "2022-08-08 15:12:23.688 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006415000001425142ms\n",
      "2022-08-08 15:12:23.888 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006528000000116663ms\n",
      "2022-08-08 15:12:24.692 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007132999996883882ms\n",
      "2022-08-08 15:12:24.892 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006728999977667627ms\n",
      "2022-08-08 15:12:25.698 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005882000010615229ms\n",
      "2022-08-08 15:12:25.897 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005637000015212834ms\n",
      "2022-08-08 15:12:26.704 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0067170000193073065ms\n",
      "2022-08-08 15:12:26.905 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007248000002846311ms\n",
      "2022-08-08 15:12:27.711 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00540299998874616ms\n",
      "2022-08-08 15:12:27.912 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007457999998905507ms\n",
      "2022-08-08 15:12:28.717 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005497000017840037ms\n",
      "2022-08-08 15:12:28.918 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0071460000015122205ms\n",
      "2022-08-08 15:12:29.723 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0071560000094450515ms\n",
      "2022-08-08 15:12:29.921 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00765900000487818ms\n",
      "2022-08-08 15:12:30.732 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.010008999993260659ms\n",
      "2022-08-08 15:12:30.934 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008519000004980626ms\n",
      "2022-08-08 15:12:31.737 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008494000013570258ms\n",
      "2022-08-08 15:12:31.954 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.009332000018957842ms\n",
      "2022-08-08 15:12:32.744 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007377999992286277ms\n",
      "2022-08-08 15:12:32.960 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0073549999797251076ms\n",
      "2022-08-08 15:12:33.749 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007155000020020452ms\n",
      "2022-08-08 15:12:33.967 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006761000008737028ms\n",
      "2022-08-08 15:12:34.756 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0068710000107330416ms\n",
      "2022-08-08 15:12:34.972 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0065110000093682174ms\n",
      "2022-08-08 15:12:35.353 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 4\n",
      "2022-08-08 15:12:35.355 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 1.5071750000004158ms\n",
      "2022-08-08 15:12:35.407 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 4\n",
      "2022-08-08 15:12:35.408 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:12:35.419 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 12.546001000004026ms\n",
      "2022-08-08 15:12:35.767 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.9687869999813756ms\n",
      "2022-08-08 15:12:35.981 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 2.0141520000152013ms\n",
      "2022-08-08 15:12:36.369 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:12:36.372 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 2.9583029999855626ms\n",
      "2022-08-08 15:12:36.429 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:12:36.431 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:12:36.432 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 2.6837540000030913ms\n",
      "2022-08-08 15:12:36.786 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.014781000004404632ms\n",
      "2022-08-08 15:12:36.999 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.010130000021035812ms\n",
      "2022-08-08 15:12:37.792 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006976999998187239ms\n",
      "2022-08-08 15:12:38.004 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007892000013498546ms\n",
      "2022-08-08 15:12:38.798 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005245000011200318ms\n",
      "2022-08-08 15:12:39.011 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00737499999559077ms\n",
      "2022-08-08 15:12:39.804 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007090999986303359ms\n",
      "2022-08-08 15:12:40.018 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007230999983676156ms\n",
      "2022-08-08 15:12:40.811 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006912000003467256ms\n",
      "2022-08-08 15:12:41.022 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0072819999843432015ms\n",
      "2022-08-08 15:12:41.818 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006818000002795088ms\n",
      "2022-08-08 15:12:42.027 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007582999984379057ms\n",
      "2022-08-08 15:12:42.821 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006829000000152519ms\n",
      "2022-08-08 15:12:43.034 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005338000022447886ms\n",
      "2022-08-08 15:12:43.827 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006722999984276612ms\n",
      "2022-08-08 15:12:44.038 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007470000014109246ms\n",
      "2022-08-08 15:12:44.830 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007071999988284006ms\n",
      "2022-08-08 15:12:45.043 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0074229999995623075ms\n",
      "2022-08-08 15:12:45.837 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0073239999949237244ms\n",
      "2022-08-08 15:12:46.050 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007684999985713148ms\n",
      "2022-08-08 15:12:46.842 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005438000016511069ms\n",
      "2022-08-08 15:12:47.055 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005649000001994864ms\n",
      "2022-08-08 15:12:47.849 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006764999994857135ms\n",
      "2022-08-08 15:12:48.060 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006266000013965822ms\n",
      "2022-08-08 15:12:48.854 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005928000007315859ms\n",
      "2022-08-08 15:12:49.065 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007667999994964703ms\n",
      "2022-08-08 15:12:49.860 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00646299997697497ms\n",
      "2022-08-08 15:12:50.071 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006855000009409196ms\n",
      "2022-08-08 15:12:50.867 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006922000011400087ms\n",
      "2022-08-08 15:12:51.077 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008999999977277184ms\n",
      "2022-08-08 15:12:51.874 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007269000008136572ms\n",
      "2022-08-08 15:12:52.086 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007148000008783129ms\n",
      "2022-08-08 15:12:52.878 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00732899999889014ms\n",
      "2022-08-08 15:12:53.092 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007177000014735313ms\n",
      "2022-08-08 15:12:53.883 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008280999992393845ms\n",
      "2022-08-08 15:12:54.100 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005737999998700616ms\n",
      "2022-08-08 15:12:54.889 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006684999988237905ms\n",
      "2022-08-08 15:12:55.107 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006612000021277709ms\n",
      "2022-08-08 15:12:55.892 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007178999993584512ms\n",
      "2022-08-08 15:12:56.113 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00563099999340011ms\n",
      "2022-08-08 15:12:56.899 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007084000003487745ms\n",
      "2022-08-08 15:12:57.118 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007379000010132586ms\n",
      "2022-08-08 15:12:57.905 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006374999998115527ms\n",
      "2022-08-08 15:12:58.124 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006635999994841768ms\n",
      "2022-08-08 15:12:58.911 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006865999978344917ms\n",
      "2022-08-08 15:12:59.128 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005689000005304479ms\n",
      "2022-08-08 15:12:59.919 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0069989999929021ms\n",
      "2022-08-08 15:13:00.131 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007068999991588498ms\n",
      "2022-08-08 15:13:00.927 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007402999983696645ms\n",
      "2022-08-08 15:13:01.138 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007809000010183809ms\n",
      "2022-08-08 15:13:01.933 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007043000010753531ms\n",
      "2022-08-08 15:13:02.141 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006651000006741015ms\n",
      "2022-08-08 15:13:02.941 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0071279999929174664ms\n",
      "2022-08-08 15:13:03.146 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006898000009414318ms\n",
      "2022-08-08 15:13:03.948 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00716999997507628ms\n",
      "2022-08-08 15:13:03.979 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 5\n",
      "2022-08-08 15:13:03.981 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 2.0130590000064785ms\n",
      "2022-08-08 15:13:04.075 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 5\n",
      "2022-08-08 15:13:04.076 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:13:04.088 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 13.122824999982186ms\n",
      "2022-08-08 15:13:04.151 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 0.9681370000009792ms\n",
      "2022-08-08 15:13:04.957 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 2.0718410000029053ms\n",
      "2022-08-08 15:13:05.000 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:13:05.001 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 1.2606200000107037ms\n",
      "2022-08-08 15:13:05.096 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:13:05.097 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:13:05.098 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 2.447076000009929ms\n",
      "2022-08-08 15:13:05.165 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.010832000015170706ms\n",
      "2022-08-08 15:13:05.973 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.011918000012656194ms\n",
      "2022-08-08 15:13:06.172 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006617999986247014ms\n",
      "2022-08-08 15:13:06.982 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007492999998248706ms\n",
      "2022-08-08 15:13:07.177 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006544999990865108ms\n",
      "2022-08-08 15:13:07.988 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007347999996909493ms\n",
      "2022-08-08 15:13:08.184 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007398999997576539ms\n",
      "2022-08-08 15:13:08.995 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007259000000203741ms\n",
      "2022-08-08 15:13:09.195 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007539999984373935ms\n",
      "2022-08-08 15:13:10.001 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0074330000074951386ms\n",
      "2022-08-08 15:13:10.202 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00728399999161411ms\n",
      "2022-08-08 15:13:11.007 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008098999984440525ms\n",
      "2022-08-08 15:13:11.207 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007852000010188931ms\n",
      "2022-08-08 15:13:12.014 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008461000021497966ms\n",
      "2022-08-08 15:13:12.212 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007122999988951051ms\n",
      "2022-08-08 15:13:13.023 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.009071000022231601ms\n",
      "2022-08-08 15:13:13.219 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007300999982362555ms\n",
      "2022-08-08 15:13:14.027 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006592999994836646ms\n",
      "2022-08-08 15:13:14.224 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006841000015356258ms\n",
      "2022-08-08 15:13:15.033 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0069419999988440395ms\n",
      "2022-08-08 15:13:15.227 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0069159999895873625ms\n",
      "2022-08-08 15:13:16.037 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008712999999715976ms\n",
      "2022-08-08 15:13:16.234 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007462000013447323ms\n",
      "2022-08-08 15:13:17.044 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007361000001537832ms\n",
      "2022-08-08 15:13:17.240 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007325000012770033ms\n",
      "2022-08-08 15:13:18.052 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006788999996842904ms\n",
      "2022-08-08 15:13:18.248 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00842200000761295ms\n",
      "2022-08-08 15:13:19.058 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005671999986134324ms\n",
      "2022-08-08 15:13:19.254 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006766000012703444ms\n",
      "2022-08-08 15:13:20.061 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006932999980335808ms\n",
      "2022-08-08 15:13:20.261 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005348000001959008ms\n",
      "2022-08-08 15:13:21.071 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006926999986944793ms\n",
      "2022-08-08 15:13:21.266 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007251999988966418ms\n",
      "2022-08-08 15:13:22.078 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006995000006781993ms\n",
      "2022-08-08 15:13:22.274 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006972999983645423ms\n",
      "2022-08-08 15:13:23.081 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007582999984379057ms\n",
      "2022-08-08 15:13:23.281 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007288000006155926ms\n",
      "2022-08-08 15:13:24.088 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006928000004791102ms\n",
      "2022-08-08 15:13:24.286 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006659999996827537ms\n",
      "2022-08-08 15:13:25.092 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007019000008767762ms\n",
      "2022-08-08 15:13:25.290 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00605299999278941ms\n",
      "2022-08-08 15:13:26.097 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007001999989597607ms\n",
      "2022-08-08 15:13:26.292 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007505999974455335ms\n",
      "2022-08-08 15:13:27.104 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00582499998813546ms\n",
      "2022-08-08 15:13:27.298 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00674800000410869ms\n",
      "2022-08-08 15:13:28.112 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007856000024730747ms\n",
      "2022-08-08 15:13:28.304 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005502000021806452ms\n",
      "2022-08-08 15:13:29.119 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00687299998958224ms\n",
      "2022-08-08 15:13:29.310 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006290000015951591ms\n",
      "2022-08-08 15:13:30.124 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007269999997561172ms\n",
      "2022-08-08 15:13:30.315 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00762599998438418ms\n",
      "2022-08-08 15:13:31.131 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00834400000826463ms\n",
      "2022-08-08 15:13:31.323 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007213000003503112ms\n",
      "2022-08-08 15:13:32.136 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008294999986446783ms\n",
      "2022-08-08 15:13:32.329 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005490999996027313ms\n",
      "2022-08-08 15:13:33.142 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005216000005248134ms\n",
      "2022-08-08 15:13:33.336 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005958000002692643ms\n",
      "2022-08-08 15:13:34.149 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007197999991603865ms\n",
      "2022-08-08 15:13:34.341 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0061549999941235ms\n",
      "2022-08-08 15:13:35.162 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007757000020092164ms\n",
      "2022-08-08 15:13:35.318 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 6\n",
      "2022-08-08 15:13:35.319 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 1.14486300000749ms\n",
      "2022-08-08 15:13:35.344 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005643999998028448ms\n",
      "2022-08-08 15:13:35.536 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 6\n",
      "2022-08-08 15:13:35.538 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:13:35.558 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 22.147429999989754ms\n",
      "2022-08-08 15:13:36.173 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.458719999988034ms\n",
      "2022-08-08 15:13:36.350 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 2.1765200000061213ms\n",
      "2022-08-08 15:13:36.572 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:13:36.573 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 1.06591599998751ms\n",
      "2022-08-08 15:13:37.187 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005533999996032435ms\n",
      "2022-08-08 15:13:37.335 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:13:37.338 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:13:37.340 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 5.185560999990457ms\n",
      "2022-08-08 15:13:37.366 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.008181999987755262ms\n",
      "2022-08-08 15:13:38.193 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.007280999994918602ms\n",
      "2022-08-08 15:13:38.373 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008067000010214542ms\n",
      "2022-08-08 15:13:39.200 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008863999994446203ms\n",
      "2022-08-08 15:13:39.380 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008007999980463865ms\n",
      "2022-08-08 15:13:40.205 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008891000021549189ms\n",
      "2022-08-08 15:13:40.396 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007880999987719406ms\n",
      "2022-08-08 15:13:41.212 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006755000015346013ms\n",
      "2022-08-08 15:13:41.405 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007936000002928267ms\n",
      "2022-08-08 15:13:42.215 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007484999997586783ms\n",
      "2022-08-08 15:13:42.411 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007262999986323848ms\n",
      "2022-08-08 15:13:43.221 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0069050000206516415ms\n",
      "2022-08-08 15:13:43.417 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.008592000000362532ms\n",
      "2022-08-08 15:13:44.228 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.008111999989068863ms\n",
      "2022-08-08 15:13:44.421 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006362999982911788ms\n",
      "2022-08-08 15:13:45.235 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006702999996832659ms\n",
      "2022-08-08 15:13:45.428 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.012319000006755232ms\n",
      "2022-08-08 15:13:46.239 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007417000006171293ms\n",
      "2022-08-08 15:13:46.435 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007964999980458742ms\n",
      "2022-08-08 15:13:47.242 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006773000023940767ms\n",
      "2022-08-08 15:13:47.440 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005952999998726227ms\n",
      "2022-08-08 15:13:48.249 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00536899997882756ms\n",
      "2022-08-08 15:13:48.446 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0074750000180756615ms\n",
      "2022-08-08 15:13:49.255 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005388000005268623ms\n",
      "2022-08-08 15:13:49.453 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0073239999949237244ms\n",
      "2022-08-08 15:13:50.260 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007081999996216837ms\n",
      "2022-08-08 15:13:50.458 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007261999996899249ms\n",
      "2022-08-08 15:13:51.267 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007430000010799631ms\n",
      "2022-08-08 15:13:51.461 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007253999996237326ms\n",
      "2022-08-08 15:13:52.272 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006850999994867379ms\n",
      "2022-08-08 15:13:52.467 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005509999994046666ms\n",
      "2022-08-08 15:13:53.278 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006710000008069983ms\n",
      "2022-08-08 15:13:53.470 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0058990000013636745ms\n",
      "2022-08-08 15:13:54.281 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006870000021308442ms\n",
      "2022-08-08 15:13:54.478 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005538000010574251ms\n",
      "2022-08-08 15:13:55.285 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005616000009922573ms\n",
      "2022-08-08 15:13:55.483 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005348000001959008ms\n",
      "2022-08-08 15:13:56.288 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007186000004821835ms\n",
      "2022-08-08 15:13:56.488 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00737499999559077ms\n",
      "2022-08-08 15:13:57.295 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00680499999816675ms\n",
      "2022-08-08 15:13:57.493 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006970000015371625ms\n",
      "2022-08-08 15:13:58.301 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007040999975060913ms\n",
      "2022-08-08 15:13:58.498 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007764999992332378ms\n",
      "2022-08-08 15:13:59.305 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007068000002163899ms\n",
      "2022-08-08 15:13:59.504 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007264999993594756ms\n",
      "2022-08-08 15:14:00.311 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006677000015997692ms\n",
      "2022-08-08 15:14:00.510 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007377000002861678ms\n",
      "2022-08-08 15:14:01.315 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007550000020728476ms\n",
      "2022-08-08 15:14:01.517 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007355000008146817ms\n",
      "2022-08-08 15:14:02.320 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006852000012713688ms\n",
      "2022-08-08 15:14:02.523 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007213000003503112ms\n",
      "2022-08-08 15:14:03.327 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0075489999744604575ms\n",
      "2022-08-08 15:14:03.527 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00734099995725046ms\n",
      "2022-08-08 15:14:03.933 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 7\n",
      "2022-08-08 15:14:03.934 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 0.9067230000141535ms\n",
      "2022-08-08 15:14:04.332 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.004956999987371091ms\n",
      "2022-08-08 15:14:04.353 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 7\n",
      "2022-08-08 15:14:04.355 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:14:04.366 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 12.835778999999548ms\n",
      "2022-08-08 15:14:04.536 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 1.186088999986623ms\n",
      "2022-08-08 15:14:04.942 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:14:04.945 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 3.2539040000187924ms\n",
      "2022-08-08 15:14:05.339 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.2858000000051106ms\n",
      "2022-08-08 15:14:05.373 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:14:05.375 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:14:05.377 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 3.625745000022107ms\n",
      "2022-08-08 15:14:05.550 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.015042000029552582ms\n",
      "2022-08-08 15:14:06.355 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.006643000006079092ms\n",
      "2022-08-08 15:14:06.558 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0054600000112259295ms\n",
      "2022-08-08 15:14:07.363 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005865999980869674ms\n",
      "2022-08-08 15:14:07.560 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006511000037789927ms\n",
      "2022-08-08 15:14:08.367 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007713000002240733ms\n",
      "2022-08-08 15:14:08.566 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0052460000006249174ms\n",
      "2022-08-08 15:14:09.372 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00673699997832955ms\n",
      "2022-08-08 15:14:09.571 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007704999973157101ms\n",
      "2022-08-08 15:14:10.377 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006970000015371625ms\n",
      "2022-08-08 15:14:10.577 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0071090000233198225ms\n",
      "2022-08-08 15:14:11.380 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006766000012703444ms\n",
      "2022-08-08 15:14:11.584 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005548999979509972ms\n",
      "2022-08-08 15:14:12.386 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006659999996827537ms\n",
      "2022-08-08 15:14:12.587 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005346000023109809ms\n",
      "2022-08-08 15:14:13.393 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007667999966542993ms\n",
      "2022-08-08 15:14:13.594 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0070149999942259456ms\n",
      "2022-08-08 15:14:14.399 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0074069999982384616ms\n",
      "2022-08-08 15:14:14.600 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00577899999143483ms\n",
      "2022-08-08 15:14:15.404 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007888000027378439ms\n",
      "2022-08-08 15:14:15.605 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005865999980869674ms\n",
      "2022-08-08 15:14:16.410 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00550599997950485ms\n",
      "2022-08-08 15:14:16.611 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005574999988766649ms\n",
      "2022-08-08 15:14:17.417 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007520999986354582ms\n",
      "2022-08-08 15:14:17.619 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007452999966517382ms\n",
      "2022-08-08 15:14:18.426 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.01021200000650424ms\n",
      "2022-08-08 15:14:18.625 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006615000017973216ms\n",
      "2022-08-08 15:14:19.431 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006903999974383623ms\n",
      "2022-08-08 15:14:19.632 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0074069999982384616ms\n",
      "2022-08-08 15:14:20.437 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005351999959657405ms\n",
      "2022-08-08 15:14:20.640 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006955999992896977ms\n",
      "2022-08-08 15:14:21.446 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006009999992784287ms\n",
      "2022-08-08 15:14:21.644 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0065390000258958025ms\n",
      "2022-08-08 15:14:22.453 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007542999981069443ms\n",
      "2022-08-08 15:14:22.651 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007218000007469527ms\n",
      "2022-08-08 15:14:23.458 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007599000014124613ms\n",
      "2022-08-08 15:14:23.656 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007291999963854323ms\n",
      "2022-08-08 15:14:24.465 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005202000011195196ms\n",
      "2022-08-08 15:14:24.663 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007620000019414874ms\n",
      "2022-08-08 15:14:25.471 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007578000008834351ms\n",
      "2022-08-08 15:14:25.670 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007097000036537793ms\n",
      "2022-08-08 15:14:26.478 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007256999992932833ms\n",
      "2022-08-08 15:14:26.677 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005240000007233903ms\n",
      "2022-08-08 15:14:27.481 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006349999978283449ms\n",
      "2022-08-08 15:14:27.683 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0070309999955497915ms\n",
      "2022-08-08 15:14:28.488 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005144999988715426ms\n",
      "2022-08-08 15:14:28.688 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006776999953217455ms\n",
      "2022-08-08 15:14:29.493 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007045000018024439ms\n",
      "2022-08-08 15:14:29.693 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0073969999903056305ms\n",
      "2022-08-08 15:14:30.497 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007346000018060295ms\n",
      "2022-08-08 15:14:30.581 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 8\n",
      "2022-08-08 15:14:30.583 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 1.20457200000601ms\n",
      "2022-08-08 15:14:30.698 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0059170000099584286ms\n",
      "2022-08-08 15:14:31.187 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 8\n",
      "2022-08-08 15:14:31.188 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:14:31.201 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 14.280165000002398ms\n",
      "2022-08-08 15:14:31.507 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.7573669999819685ms\n",
      "2022-08-08 15:14:31.706 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 2.1552160000055665ms\n",
      "2022-08-08 15:14:32.212 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:14:32.215 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 2.3354340000310003ms\n",
      "2022-08-08 15:14:32.523 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.009724999983973248ms\n",
      "2022-08-08 15:14:32.601 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:14:32.603 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:14:32.604 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 2.6828709999904277ms\n",
      "2022-08-08 15:14:32.722 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.011771000004046073ms\n",
      "2022-08-08 15:14:33.530 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.01181999999744221ms\n",
      "2022-08-08 15:14:33.730 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005136999959631794ms\n",
      "2022-08-08 15:14:34.538 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0061139999729675765ms\n",
      "2022-08-08 15:14:34.735 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0057479999782117375ms\n",
      "2022-08-08 15:14:35.540 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007334000031278265ms\n",
      "2022-08-08 15:14:35.739 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00670200000740806ms\n",
      "2022-08-08 15:14:36.545 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007525999990320997ms\n",
      "2022-08-08 15:14:36.745 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006603000031191186ms\n",
      "2022-08-08 15:14:37.548 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0058780000244951225ms\n",
      "2022-08-08 15:14:37.750 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007542999981069443ms\n",
      "2022-08-08 15:14:38.554 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007355999969149707ms\n",
      "2022-08-08 15:14:38.753 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006756000004770613ms\n",
      "2022-08-08 15:14:39.561 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006951999978355161ms\n",
      "2022-08-08 15:14:39.758 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007042999982331821ms\n",
      "2022-08-08 15:14:40.568 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007047999986298237ms\n",
      "2022-08-08 15:14:40.761 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007070999970437697ms\n",
      "2022-08-08 15:14:41.570 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0057450000099379395ms\n",
      "2022-08-08 15:14:41.767 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006659999996827537ms\n",
      "2022-08-08 15:14:42.577 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006796000036501937ms\n",
      "2022-08-08 15:14:42.771 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005274000045574212ms\n",
      "2022-08-08 15:14:43.583 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0057219999689550605ms\n",
      "2022-08-08 15:14:43.778 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005960000009963551ms\n",
      "2022-08-08 15:14:44.589 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007132000007459283ms\n",
      "2022-08-08 15:14:44.781 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007390999996914616ms\n",
      "2022-08-08 15:14:45.591 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006993999988935684ms\n",
      "2022-08-08 15:14:45.788 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007358999994266924ms\n",
      "2022-08-08 15:14:46.595 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006563999988884461ms\n",
      "2022-08-08 15:14:46.794 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0062230000139607ms\n",
      "2022-08-08 15:14:47.597 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005681999994067155ms\n",
      "2022-08-08 15:14:47.799 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005629999975553801ms\n",
      "2022-08-08 15:14:48.603 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006629999973029044ms\n",
      "2022-08-08 15:14:48.805 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007036999988940806ms\n",
      "2022-08-08 15:14:49.606 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005742999974245322ms\n",
      "2022-08-08 15:14:49.812 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007034000020667008ms\n",
      "2022-08-08 15:14:50.612 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.004908000050818373ms\n",
      "2022-08-08 15:14:50.818 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007229000004826958ms\n",
      "2022-08-08 15:14:51.619 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0069499999995059625ms\n",
      "2022-08-08 15:14:51.825 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007752999977128638ms\n",
      "2022-08-08 15:14:52.623 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006928000004791102ms\n",
      "2022-08-08 15:14:52.829 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005119999968883349ms\n",
      "2022-08-08 15:14:53.629 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007537999977103027ms\n",
      "2022-08-08 15:14:53.831 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006477999988874217ms\n",
      "2022-08-08 15:14:54.631 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007495999966522504ms\n",
      "2022-08-08 15:14:54.838 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007618999973146856ms\n",
      "2022-08-08 15:14:55.637 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005766000015228201ms\n",
      "2022-08-08 15:14:55.844 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006878000021970365ms\n",
      "2022-08-08 15:14:56.639 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007709999977123516ms\n",
      "2022-08-08 15:14:56.850 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0077700000247205026ms\n",
      "2022-08-08 15:14:57.645 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006503999998130894ms\n",
      "2022-08-08 15:14:57.856 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005564999980833818ms\n",
      "2022-08-08 15:14:58.652 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005606999991414341ms\n",
      "2022-08-08 15:14:58.862 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006820000010065996ms\n",
      "2022-08-08 15:14:59.318 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client02, epoch: 9\n",
      "2022-08-08 15:14:59.321 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client02, message type: msg_upload_param, time: 3.023351000024377ms\n",
      "2022-08-08 15:14:59.657 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005198999986077979ms\n",
      "2022-08-08 15:14:59.865 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.005111000007218536ms\n",
      "2022-08-08 15:15:00.107 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:66 - Client: client01, epoch: 9\n",
      "2022-08-08 15:15:00.108 | INFO     | iflearner.business.homo.strategy.fedavg_server:handler_upload_param:85 - Avg params, param num: 8\n",
      "2022-08-08 15:15:00.120 | INFO     | iflearner.communication.homo.homo_server:post:99 - IN: party: client01, message type: msg_upload_param, time: 13.249951999966925ms\n",
      "2022-08-08 15:15:00.664 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_aggregate_result, time: 1.157442999954128ms\n",
      "2022-08-08 15:15:00.874 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_aggregate_result, time: 1.9161120000035226ms\n",
      "2022-08-08 15:15:01.130 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client01\n",
      "2022-08-08 15:15:01.131 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_client_ready, time: 1.2131039999871973ms\n",
      "2022-08-08 15:15:01.342 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:104 - Client ready: client02\n",
      "2022-08-08 15:15:01.343 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_client_ready:114 - Clients are all ready.\n",
      "2022-08-08 15:15:01.344 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_client_ready, time: 2.34917900002074ms\n",
      "2022-08-08 15:15:01.679 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: msg_notify_training, time: 0.012075000029199146ms\n",
      "2022-08-08 15:15:01.893 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: msg_notify_training, time: 0.014735999968706892ms\n",
      "2022-08-08 15:15:02.687 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007127000003492867ms\n",
      "2022-08-08 15:15:02.902 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006955999992896977ms\n",
      "2022-08-08 15:15:03.693 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007421000020713109ms\n",
      "2022-08-08 15:15:03.904 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006478999978298816ms\n",
      "2022-08-08 15:15:04.700 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0072610000074746495ms\n",
      "2022-08-08 15:15:04.910 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006517000031180942ms\n",
      "2022-08-08 15:15:05.704 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0075430000379128614ms\n",
      "2022-08-08 15:15:05.917 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007167000035224191ms\n",
      "2022-08-08 15:15:06.710 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006556000016644248ms\n",
      "2022-08-08 15:15:06.922 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00710099999423619ms\n",
      "2022-08-08 15:15:07.715 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007176999986313604ms\n",
      "2022-08-08 15:15:07.927 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006977999987611838ms\n",
      "2022-08-08 15:15:08.720 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00688400001536138ms\n",
      "2022-08-08 15:15:08.931 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007766000010178686ms\n",
      "2022-08-08 15:15:09.727 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006711000025916292ms\n",
      "2022-08-08 15:15:09.938 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006992000010086485ms\n",
      "2022-08-08 15:15:10.731 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005181999995329534ms\n",
      "2022-08-08 15:15:10.943 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007019000008767762ms\n",
      "2022-08-08 15:15:11.735 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007160999984989758ms\n",
      "2022-08-08 15:15:11.949 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007464000020718231ms\n",
      "2022-08-08 15:15:12.738 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006913999982316454ms\n",
      "2022-08-08 15:15:12.955 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006810000002133165ms\n",
      "2022-08-08 15:15:13.741 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007288000006155926ms\n",
      "2022-08-08 15:15:13.961 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.0070410000034826226ms\n",
      "2022-08-08 15:15:14.745 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007484999969165074ms\n",
      "2022-08-08 15:15:14.968 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00710099999423619ms\n",
      "2022-08-08 15:15:15.751 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006390999999439373ms\n",
      "2022-08-08 15:15:15.973 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006078000012621487ms\n",
      "2022-08-08 15:15:16.755 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006678000033844ms\n",
      "2022-08-08 15:15:16.978 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.03193600002759922ms\n",
      "2022-08-08 15:15:17.761 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00516300002573189ms\n",
      "2022-08-08 15:15:17.981 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007740000000922009ms\n",
      "2022-08-08 15:15:18.765 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007553999978426873ms\n",
      "2022-08-08 15:15:18.988 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007016999973075144ms\n",
      "2022-08-08 15:15:19.772 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.0069980000034775ms\n",
      "2022-08-08 15:15:19.995 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007774999971843499ms\n",
      "2022-08-08 15:15:20.778 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006843999983630056ms\n",
      "2022-08-08 15:15:20.997 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007421000020713109ms\n",
      "2022-08-08 15:15:21.780 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007197000002179266ms\n",
      "2022-08-08 15:15:22.004 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006972999983645423ms\n",
      "2022-08-08 15:15:22.787 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.006914000039159873ms\n",
      "2022-08-08 15:15:23.010 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006533999965085968ms\n",
      "2022-08-08 15:15:23.793 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007304000007479772ms\n",
      "2022-08-08 15:15:24.015 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.006723000012698321ms\n",
      "2022-08-08 15:15:24.798 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.005086999976811057ms\n",
      "2022-08-08 15:15:25.020 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007013000015376747ms\n",
      "2022-08-08 15:15:25.804 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.00776199999563687ms\n",
      "2022-08-08 15:15:26.027 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.007160999984989758ms\n",
      "2022-08-08 15:15:26.811 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client01, message type: , time: 0.007098000025962392ms\n",
      "2022-08-08 15:15:27.042 | INFO     | iflearner.communication.homo.homo_server:callback:110 - OUT: party: client02, message type: , time: 0.00853699998515367ms\n",
      "2022-08-08 15:15:27.473 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_complete:73 - Client complete: client01\n",
      "2022-08-08 15:15:27.474 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client01, message type: msg_complete, time: 0.770876999979464ms\n",
      "2022-08-08 15:15:27.573 | INFO     | iflearner.business.homo.strategy.strategy_server:handler_complete:73 - Client complete: client02\n",
      "2022-08-08 15:15:27.574 | INFO     | iflearner.communication.homo.homo_server:send:67 - IN: party: client02, message type: msg_complete, time: 0.7183769999983269ms\n"
     ]
    }
   ],
   "source": [
    "from iflearner.business.homo.aggregate_server import main\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "iflearner",
   "language": "python",
   "name": "iflearner"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
